package com.ethink.order.api.info;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 采购单 INFO实体
 *
 * @author default
 * @date 2022-11-10
 */
@Data
public class PurchaseOrderInfo {

    @Schema(description ="主键")
    private Long id;

    @Schema(description ="采购单号")
    private String orderNo;

    @Schema(description ="销售需求单号")
    private String saleDemandOrderNo;

    @Schema(description ="枚举 订单状态:1-草稿(s1)|2-待付款(s2)|3-待收货(s3)|4-已完结(s4)")
    private Integer orderStatus;

    @Schema(description ="供应商编码")
    private String supplierCode;

    @Schema(description ="供应商名称")
    private String supplierName;

    @Schema(description ="分仓编码")
    private String subWarehouseCode;

    @Schema(description ="分仓名称")
    private String subWarehouseName;

    @Schema(description ="外部单号")
    private String outOrderNo;

    @Schema(description ="制单人账号")
    private String createUserCode;

    @Schema(description ="制单人名称")
    private String createUserName;

    @Schema(description ="预计出境日期")
    private Date exceptOutboundTime;

    @Schema(description ="订单金额")
    private BigDecimal orderPrice;

    @Schema(description ="应付金额")
    private BigDecimal shouldPayAmount;

    @Schema(description ="优惠金额")
    private BigDecimal discountAmount;

    @Schema(description ="预付金额")
    private BigDecimal prepayAmount;

    @Schema(description ="折扣(%)")
    private BigDecimal discountRate;

    @Schema(description ="尾款")
    private BigDecimal restAmount;

    @Schema(description ="申请人")
    private String applyUser;

    @Schema(description ="订单来源")
    private String saleChannel;

    @Schema(description ="订单来源下级")
    private String saleSubChannel;

    @Schema(description ="付款方账号")
    private String payerAccount;

    @Schema(description ="付款方名称")
    private String payerName;

    @Schema(description ="银行流水号")
    private String bankTradeNo;

    @Schema(description ="付款备注")
    private String bankTradeRemark;

    @Schema(description ="采购资质")
    private String purchaseQualification;

    @Schema(description ="银行流水相关凭证")
    private String bankTradeFileId;

    @Schema(description ="发票")
    private String payInvoiceFileId;

    @Schema(description ="货币编码")
    private String currencyCode;

    @Schema(description ="货币名称")
    private String currencyName;

    @Schema(description ="汇率")
    private BigDecimal exchangeRate;

    @Schema(description ="完善时间")
    private Date suppleTime;

    @Schema(description ="是否付款")
    private Boolean hasPaid;

    @Schema(description ="数据删除标志(0-正常,1-删除)")
    private Integer isDeleted;

    @Schema(description ="数据创建时间戳")
    private Date createTime;

    @Schema(description ="数据更新时间戳")
    private Date updateTime;

    @Schema(description ="创建人")
    private String createUser;

    @Schema(description ="修改人")
    private String updateUser;

    @Schema(description ="备注信息")
    private String remark;

    @Schema(description ="主仓编码")
    private String warehouseCode;
    @Schema(description ="主仓名称")
    private String warehouseName;

}
